<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // var n1 = 100; // n1 在这里是个全局变量  
        // // 在整个html页面 随处都可以拿到  
        // function fn() {
        //     var n2 = 200;  // n2在fn作用域内 
        //     //只是在这个里边活动 
        //     console.log(n2); // 在fn里边打印n2 在一个作用域内所以正常打印
        //     console.log(n1); // window 是fn的父级 子级可以拿到父级的东西 
        // }
        // fn();
        // console.log(n2);// n2只能在fn作用域内 除了这个作用域不能用  



        // 定义在哪个作用域下的变量 就是哪个作用域的私有变量  
        // 私有变量只能自己用 或者给自己的后代 用 
        // 不能给父级用  

        // console.log(a); // undefined
        // var a = 8;  // a 是全局变量  自己用后代也能用 
        // function fn() {
        //     console.log(a); // undefined
        //     var a = 15; // fn的私有变量  只能自己或者后代用  不能给父级
        // }
        // fn();
        // console.log(a);  // 8 


        //不同的作用域 名字形同 各自独立 
        // 相同的作用域 名字相同  后面会把前面替换掉 

        // function test(num1,num2){
        //     return num1+num2;
        // }

        // alert(num1);
        // 函数的参数只能在函数内生效  出了函数不生效  

        // if(4>3){
        //     var num1 = 100;
        // }

        // alert(num1); // 100 


        // for(var i=1;i<=10;i++){
        //     var num2 = 500
        // }
        // alert(num2) ; 500 
        // alert(i);// 10 
        // var i=0
        // do{
        //     var num = 300;
        //     i++;
        // }while(i>3);

        // alert(num);
        // var i=0
        // while(i<5){
        //     var num = 700;
        //     i++;
        // }

        // alert(num);

        // var i = 5;
        // switch(i){
        //     case 5:
        //         var num3 = 900
        // }

        // alert(num3)
    </script>
</body>

</html>